package com.fsi.client;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * The async counterpart of <code>GreetingService</code>.
 */
public interface ApplicationServiceAsync {

	void addNewCustomer(Customer customer, AsyncCallback<Void> callback);

	void deleteCustomer(Customer customer, AsyncCallback<Void> callback);

	void findCustomerByName(String name, AsyncCallback<Boolean> callback);

	void testMethod(AsyncCallback<Void> callback);

	void checkLoggedIn(AsyncCallback<Void> callback);

	void login(String requestUri, AsyncCallback<LoginInfo> callback);

	void listCustomers(AsyncCallback<List<Customer>> callback);

	void updateCustomerDetails(Customer customer, int updateType,
			AsyncCallback<Customer> callback);

	void getPhotos(String customerID, AsyncCallback<List<Shuttle>> callback);

	void getCustomerByEmail(String loginEmailAddress,
			AsyncCallback<Customer> asyncCallback);

	void deletePhoto(String customerID, String photoID,
			AsyncCallback<Void> asyncCallback);

	void logClientMsg(String msg, AsyncCallback<Void> asyncCallback);

}
